Multi-Variant Execution of Parallel Programs

نویسندگان

  • Stijn Volckaert
  • Bjorn De Sutter
  • Koen De Bosschere
  • Per Larsen
چکیده

Multi-Variant Execution Environments (MVEEs) are a promising technique to protect software against memory corruption attacks. They transparently execute multiple, diversified variants (often referred to as replicae) of the software receiving the same inputs. By enforcing and monitoring the lock-step execution of the replicae’s system calls, and by deploying diversity techniques that prevent an attacker from simultaneously compromising multiple replicae, MVEEs can block attacks before they succeed. Existing MVEEs cannot handle non-trivial multi-threaded programs because their undeterministic behavior introduces benign system call inconsistencies in the replicae, which trigger false positive detections and deadlocks in the MVEEs. This paper for the first time extends the generality of MVEEs to protect multi-threaded software by means of secure and efficient synchronization replication agents. On the PARSEC 2.1 parallel benchmarks running with four worker threads, our prototype MVEE incurs a run-time overhead of only 1.32x.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Process algebraic modeling of authentication protocols for analysis of parallel multi-session executions

Many security protocols have the aim of authenticating one agent acting as initiator to another agent acting as responder and vice versa. Sometimes, the authentication fails because of executing several parallel sessions of a protocol, and because an agent may play both the initiator and responder role in parallel sessions. We take advantage of the notion of transition systems to specify authen...

متن کامل

Visual Programming and Parallel Computing

Visual programming arguably provides greater benefit in explicit parallel programming, particularly coarse grain MIMD programming, than in sequential programming. Explicitly parallel programs are multi-dimensional objects; the natural representations of a parallel program are annotated directed graphs: data flow graphs, control flow graphs, etc. where the nodes of the graphs are sequential comp...

متن کامل

Parallel Execution Aware Data Structures

e observation that parallel processing inevitably runs into issues managing data movement is hardly new. e old joke “a supercomputer is an expensive device that transforms a compute-bound problem into an I/Obound problem” now has a new variant: “a manycore processor is a device that transforms a compute-bound problem into a memory bound problem.” As we enter the multicore and manycore era, data...

متن کامل

S-Kendo: Deterministic execution for arbitrary programs

The emergence of Chip Multi-Processors (CMPs) and the continued scaling of the number of cores per chip necessitates that applications be parallelized to distribute work efficiently to different cores. However the deployment of shared-memory based multi-threaded software is slow. As a result application performance has not matched the performance offered by today's CMPs. While it is true that s...

متن کامل

Multi-threaded composition of finite-state-automata

We investigate the composition of finitestate automata in a multiprocessor environment, presenting a parallel variant of a widely-used composition algorithm. We provide an approximate upper bound for composition speedup of the parallel variant with respect to serial execution, and empirically evaluate the performance of our implementation with respect to this bound.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1607.07841  شماره 

صفحات  -

تاریخ انتشار 2016